Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Програмування задач лінійної структури. Обчислення виразів

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2024
Тип роботи:
Лабораторна робота
Предмет:
Засоби системного програмування

Частина тексту файла

Міністерство освіти і науки Національний університет “Львівська політехніка” Кафедра ЕОМ / Звіт з лабораторної роботи № 4 з дисципліни: “Засоби системного програмування” на тему: “Програмування задач лінійної структури. Обчислення виразів” Мета лабораторної роботи Вивчити способи задання констант та змінних в Асемблері та набути навиків використання арифметичних команд над даними різного розміру. Теоретичні відомості Асемблер допускає два основні методи визначення даних: через вказування довжини даних та за їх значенням. В першому випадку використовуються директиви визначення даних, а у другому безпосереднє значення або директива EQU. Розглянемо основний формат визначення даних: [ім’я] Dn вираз - Ім’я елемента даних не є обов’язковим але якщо в програмі є посилання на деякий елемент, те це робиться за допомогою імені. - Для визначення елементів даних є наступні директиви: DB (байт) DW (слово – 2 байти) DD (подвійне слово – 4 байти), DQ (8 байт) DT (10 байт). Вираз може містити константу, наприклад: FLD1 DB 25, або знак питання для невизначеного значення, наприклад: FLDB DB ? Вираз може містити кілька констант, розділених комами й обмеженими тільки довжиною рядка: FLD3 DB 11, 12, 13, 14, 15, 16, ... Асемблер визначає ці константи у вигляді послідовності сусідніх байт. Звертання за FLD3 вказує на першу константу 11, за FLD3+1 - на другу 12. (FLD3 можна представити як FLD3+0). Наприклад команда MOV AL,FLD3+3 завантажує в регістр AL значення 14 (0Eh). Вираз допускає також повторення константи в наступному форматі: [ім’я] Dn кількість повторень DUP (вираз) ... Індивідуальне завдання Створити *.exe програму, яка реалізовує обчислення, заданого варіантом виразу і зберігає результат в пам’яті. Вхідні операнди А, В, С, D, E, F вважати беззнаковими і довжиною в байтах, згідно з індексу; К – константа, довжина якої визначається значенням(згідно варіанту). Для її опису слід використати директиву EQU. За допомогою Debug, відслідкувати правильність виконання програми (продемонструвати результати проміжних та кінцевих обчислень). Скласти звіт про виконану роботу з приведенням тексту програми та коментарів до неї. Дати відповідь на контрольні запитання. 12 X=K+B4/C2-D2*F2-E1 7055E0AC   Код програми .MODEL SMALL .STACK 100h .DATA K_low EQU 0E0ACh K_high EQU 7055h B4 dd 1215842Ah C2 dw 1548h D2 dw 3523h E1 db 72h F2 dw 1284h Temp1 dw 0h ;B4/C2 Temp2 dd 0h ;D2*F2 Temp3 dq 0h ;K+Temp1 Temp4 dq 0h ;Temp3-Temp2 X dq 0h ;Temp4-E1 .CODE start: mov ax,@data mov ds,ax mov ax, word ptr [B4] mov dx, word ptr [B4+2] div C2 mov Temp1, ax mov ax, D2 mul F2 mov word ptr [Temp2], ax mov word ptr [Temp2+2], dx mov ax, K_low add ax, Temp1 mov word ptr [Temp3], ax mov ax, K_high adc ax, 0 mov word ptr [Temp3+2], ax mov ax, 0 adc ax, 0 mov word ptr [Temp3+4], ax mov ax, word ptr [Temp3] sub ax, word ptr [Temp2] mov word ptr [Temp4], ax mov ax, word ptr [Temp3+2] sbb ax, word ptr [Temp2+2] mov word ptr [Temp4+2], ax mov ax, word ptr [Temp3+4] sbb ax, word ptr [Temp2+4] mov word ptr [Temp4+4], ax mov ax, word ptr [Temp4] mov dl, E1 mov dh, 0 sub ax, dx mov word ptr [X], ax mov ax, word ptr [Temp4+2] mov word ptr [X+2], ax mov ax, word ptr [Temp4+4] mov word ptr [X+4], ax mov ax, word ptr [Temp4+6] mov word ptr [X+6], ax mov ah, 4Ch int 21h end start Результат виконання програми / Висновок Я вивчив способи задання констант та змінних в Асемблері та набув навиків використання арифметичних команд над даними різного розміру.
Антиботан аватар за замовчуванням

30.03.2016 11:03

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини